package com.mc.httpclient;

import java.io.File;
import java.io.IOException;
import java.util.Map;

import org.apache.http.HttpException;

/**
 * Http请求收发接口。
 *
 * @author rdpc0211
 *
 */
public interface IHttpUtil {
	/**
	 * 发送POST请求。
	 *
	 * @param url
	 *            服务器地址。
	 * @param data
	 *            请求数据
	 * @param sequence
	 *            请求序号
	 * @return 响应报文
	 */
	Response sendPost(String url, String data, String sequence) throws Exception;

	/**
	 * 发送GET请求。
	 *
	 * @param url
	 *            服务器地址。
	 * @param urlParams
	 *            请求键值对
	 * @param sequence
	 *            请求序号
	 * @return 响应报文
	 * @throws Exception
	 */
	Response sendGet(String url, Map<String, String> urlParams, String sequence) throws Exception;

	/**
	 * 上传文件
	 *
	 * @param url
	 *            上传地址
	 * @param file
	 *            上传文件对象
	 * @return 服务器上传响应结果
	 * @throws IOException
	 */
	String upload(String url, File file) throws HttpException;

	/**
	 * 下载附件
	 *
	 * @param url
	 *            附件地址
	 * @return 附件对象
	 * @throws IOException
	 */
	public Attachment download(String url) throws HttpException;
}
